home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TeX 1995 July
/
TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO
/
macros
/
tip
/
x-parsh.tip
< prev
next >
Wrap
Text File
|
1993-09-15
|
2KB
|
65 lines
% This macro source file is from the four volume series
% "TeX in Practice" by Stephan von Bechtolsheim, published
% 1993 by Springer-Verlag, New York.
% Copyright 1993 Stephan von Bechtolsheim.
% No warranty or liability is assumed.
% This macro may be copied freely if no fees other than
% media cost or shipping charges are charged and as long
% as this copyright and the following source code itself
% is not changed. Please see the series for further information.
%
% Version: 1.0
% Date: May 1, 1993
%
%
% This source code is documented in 12.1.3, p. II-108.
% Original source in file "par3.TEX", starting line 176.
\wlog{L: "x-parsh.tip" ["par3.TEX," l. 176, p. II-108]}%
% This file DOES belong to format "texip."
\InputD{doloop.tip}
\catcode`\@ = 11
\newcount\X@ParShapeCountA
\newcount\X@ParShapeCountB
\newcount\X@ParShapeCountC
\newdimen\X@ParShapeDimenA
\newdimen\X@ParShapeDimenB
\def\XParShape{%
\def\X@ParShapeCollect{ }%
\X@ParShapeCountC = 0
\afterassignment\X@ParShapeB
\X@ParShapeCountA
}
\def\X@ParShapeB{%
\ifnum\X@ParShapeCountA = 0
\let\@XParShapeNext = \X@ParShapeD
\else
\advance\X@ParShapeCountA by -1
\let\@XParShapeNext = \X@ParShapeC
\fi
\@XParShapeNext
}
\def\X@ParShapeD{%
\parshape = \X@ParShapeCountC\X@ParShapeCollect
}
\def\X@ParShapeC #1 #2 #3 #4 #5 {%
\message{\string\X@ParShapeC: #1, #2, #3, #4, #5}%
\X@ParShapeDimenA = #2%
\X@ParShapeDimenB = #4%
\DoLoop{\X@ParShapeCountB}{1}{1}{#1}%
{%
\edef\X@ParShapeCollect{%
\space
\X@ParShapeCollect
\the\X@ParShapeDimenA
\space
\the\X@ParShapeDimenB
\space
}%
\advance\X@ParShapeCountC by 1
\advance\X@ParShapeDimenA by #3\relax
\advance\X@ParShapeDimenB by #5\relax
}%
\X@ParShapeB
}
\catcode`\@ = 12